package exception;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

/*
键盘录入一个int类型的整数，对其求二进制表现形式
如果录入的整数过大，给与提示，录入的整数过大请重新录入
如果是小数，给与提示，录入的是小数，请重新录入一个整数
如果录入的是其他字符，给与提示，录入的是非法字符，
请重新录入一个整数


 */
public class Exception_Test1 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);


        while (true) {
            System.out.println("请输入一个整数：");
            String line = sc.nextLine();
            try {
                //将字符串转换为整数
                int num = Integer.parseInt(line);
                System.out.println(Integer.toBinaryString(num));
                break;
            } catch (NumberFormatException e1) {
                try {
                    new BigInteger(line);
                    System.out.println("您录入的整数过大！！！");
                    continue;
                }catch (Exception e2) {
                    try {
                        new BigDecimal(line);
                        System.out.println("您录入的是一个小数！！！");
                        continue;
                    } catch (Exception e3) {
                        System.out.println("您录入的是非法字符！！！");
                        continue;
                    }

                }
            }
        }

    }
}
